package com.celeritymq.server.servers;
/**
 * MQServer和Manager交互，Manager和Acceptor交互
 * @author max
 *
 */
public interface MQServer {
	//服务器开始运行，前提先调用init方法初始化各种参数
	void start()throws Exception;
	//服务器停止运行，前提调用destory和garbageCollect方法做完内存和垃圾处理工作
	void stop()throws Exception;
	//服务器停止运行前，执行内存和消息记录
	void destory()throws Exception;
	//初始化服务器各种参数
	void init()throws Exception;
	//断开有问题的链接，处理堆积超时的消息
	void garbageCollect();
	//显示当前服务器内存使用情况
	void memoryManagement();
	//在运行过程中异常停止时，做最大的服务器停止处理，调用stop方法
	void stopHook();
	//设定topic消息管理类
//	void setTopicManager(TopicManager topicManager);
	//设定queue消息管理类
//	void setQueueManager(QueueManager queueManager);
}
